import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯）信息 */
export interface InstrumentOperationLog {
          id: number; // 记录唯一ID
          instrumentId?: number; // 仪器设备ID（逻辑外键，关联sys_instrument.id）
          operationType?: number; // 操作类型（1-新增，2-修改，3-删除，4-出库，5-入库）
          operatorId?: number; // 操作人ID（逻辑外键，关联sys_user.id）
          operatorName?: string; // 操作人姓名（冗余sys_user.nickname，避免联查）
          operationTime?: string | Dayjs; // 操作时间
          remark: string; // 操作备注（如“2025-11-04 出库用于压力测试”）
  }

// 仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯） API
export const InstrumentOperationLogApi = {
  // 查询仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯）分页
  getInstrumentOperationLogPage: async (params: any) => {
    return await request.get({ url: `/sys/instrument-operation-log/page`, params })
  },

  // 查询仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯）详情
  getInstrumentOperationLog: async (id: number) => {
    return await request.get({ url: `/sys/instrument-operation-log/get?id=` + id })
  },

  // 新增仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯）
  createInstrumentOperationLog: async (data: InstrumentOperationLog) => {
    return await request.post({ url: `/sys/instrument-operation-log/create`, data })
  },

  // 修改仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯）
  updateInstrumentOperationLog: async (data: InstrumentOperationLog) => {
    return await request.put({ url: `/sys/instrument-operation-log/update`, data })
  },

  // 删除仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯）
  deleteInstrumentOperationLog: async (id: number) => {
    return await request.delete({ url: `/sys/instrument-operation-log/delete?id=` + id })
  },

  /** 批量删除仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯） */
  deleteInstrumentOperationLogList: async (ids: number[]) => {
    return await request.delete({ url: `/sys/instrument-operation-log/delete-list?ids=${ids.join(',')}` })
  },

  // 导出仪器设备操作记录表（记录新增、修改、删除、出库、入库操作，支持追溯） Excel
  exportInstrumentOperationLog: async (params) => {
    return await request.download({ url: `/sys/instrument-operation-log/export-excel`, params })
  },
}